/**
 * @Title: IUserMapper.java
 * @Package mapper
 * @author zhanglinlu
 * @date 2019年4月25日 下午1:17:27
 */
package com.zll.ccp.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.zll.ccp.model.User;

/**
 * @ClassName: IUserMapper
 * @Description: TODO
 * @author zhanglinlu
 * @date 2019年4月25日 下午1:17:27
 * 
 */
public interface IUserMapper {

    /**
     * @Title: getUserByUserName
     * @Description: 根据用户名获取用户
     * @param userName 用户名
     * @return 用户
     */
    public User getUserByUserName(String userName);

    /**
     * @Title: addUser
     * @Description: 添加用户
     * @param user 用户
     */
    public void addUser(User user);

    /**
     * @Title: updateUserNameByUserNamme
     * @Description: 根据用户名修改用户名
     * @param newUserName 要修改成的用户名
     * @param oldUserName 被修改的用户名
     */
    public void updateUserNameByUserNamme(@Param("newUserName") String newUserName,
        @Param("oldUserName") String oldUserName);

    /**
     * @Title: updateUserById
     * @Description: 根据id修改用户
     * @param user 用户
     */
    public void updateUserById(User user);

    /**
     * @Title: getUserIdByNameList
     * @Description: 根据用户名模糊查询id列表
     * @param Name 用户名
     * @return idList
     */
    public List<String> getUserIdByNameList(String name);

    /**
     * @Title: getUserShareCount
     * @Description: 获取指定年月的用户分享数前五
     * @param yearMonth 制定年月
     * @return
     */
    public List<Map<String, Object>> getUserShareCount(@Param("yearMonth") String yearMonth);
}
